﻿//using Ionic.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;
using SharpCompress.Archives;

namespace SharpSqlAnalyzer
{
    // Token: 0x02000043 RID: 67
    public class TCustomLexer
    {
        // Token: 0x0600000C RID: 12 RVA: 0x000021CC File Offset: 0x000003CC
        public TCustomLexer()
        {
            this.yytextbufsize = 16383;
            this.yytextbuf = new char[16384];
            this.checkyytextbuf(this.yytextbufsize);
            this.bufsize = 16383;
            this.buf = new char[16384];
            this.checkbuf(this.bufsize);
            this.literalbuf = new StringBuilder();
            this.delimiterchar = ';';
            this.tmpDelimiter = "";
            this.xcdepth = 0;
            this.nchars = 0;
            this.isqmarktoident = true;
            this.yylvalstr = "";
            this.yysstate = 0;
            this.yylstate = 0;
            this.yymatches = 0;
            this.yysleng = 0;
            this.bufptr = 0;
            this.yylineno = 0L;
            this.yycolno = 0L;
            this.offset = -1L;
            this.yylineno_p = 1L;
            this.yycolno_p = 1L;
            this.offset_p = 0L;
        }

        // Token: 0x0600000D RID: 13 RVA: 0x000022EC File Offset: 0x000004EC
        public static bool IsLexerIncluded(string db)
        {
            bool result = false;
            string value = db + "_lex_table.zip";
            string[] manifestResourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
            for(int i = 0 ; i < manifestResourceNames.Length ; i++)
            {
                if(manifestResourceNames[i].EndsWith(value))
                {
                    result = true;
                    break;
                }
            }
            return result;
        }


        public static StreamReader readSymbolTable(string db,string table_type)
        {
            StreamReader result = null;
            Assembly executingAssembly = Assembly.GetExecutingAssembly();
            db = db.ToLower(); // 转换为小写进行比较
            string value = db + "_" + table_type + "_table.7z";
            Stream stream = null;
            string[] manifestResourceNames = executingAssembly.GetManifestResourceNames();

            foreach(string resourceName in manifestResourceNames)
            {
                if(resourceName.EndsWith(value,StringComparison.OrdinalIgnoreCase))
                {
                    stream = executingAssembly.GetManifestResourceStream(resourceName);
                    break;
                }
            }

            if(stream != null)
            {
                using(var archive = ArchiveFactory.Open(stream))
                {
                    foreach(var entry in archive.Entries)
                    {
                        if(!entry.IsDirectory && entry.Key.EndsWith($"{db}_{table_type}_table.txt",StringComparison.OrdinalIgnoreCase))
                        {
                            // 提取条目到内存流
                            var memoryStream = new MemoryStream();

                            entry.WriteTo(memoryStream);

                            memoryStream.Position = 0; // 重置流的位置到开头
                            result = new StreamReader(memoryStream);
                            break; // 找到匹配的条目后跳出循环

                        }
                    }
                }
            }

            return result;
        }


        // Token: 0x06000010 RID: 16 RVA: 0x00002490 File Offset: 0x00000690
        public static int iskeyword(string str,IDictionary<string,int> keywordValueList)
        {
            int result = -1;
            int num = 0;
            if(keywordValueList.TryGetValue(str.ToUpper(),out num))
            {
                result = num;
            }
            return result;
        }

        // Token: 0x06000011 RID: 17 RVA: 0x000024B4 File Offset: 0x000006B4
        public static bool canBeColumnName(int tokencode,IDictionary<int,int> keywordTypeList)
        {
            bool result = false;
            int num = TCustomLexer.keyword_type_identifier | TCustomLexer.keyword_type_column;
            int num2 = 0;
            if(keywordTypeList.TryGetValue(tokencode,out num2))
            {
                int num3 = num2;
                result = ((num & num3) == num3);
            }
            return result;
        }

        // Token: 0x06000012 RID: 18 RVA: 0x000024E6 File Offset: 0x000006E6
        public virtual string getStringByCode(int tokenCode)
        {
            return null;
        }

        // Token: 0x06000013 RID: 19 RVA: 0x000024EC File Offset: 0x000006EC
        public static int getkeywordvalue(string keyword,IDictionary<string,int> keywordValueList)
        {
            int result = 0;
            int num = 0;
            if(keywordValueList.TryGetValue(keyword.ToUpper(),out num))
            {
                result = num;
            }
            return result;
        }

        // Token: 0x06000014 RID: 20 RVA: 0x00002510 File Offset: 0x00000710
        internal virtual void totablechar()
        {
            if(this.yyactchar <= 'Ā')
            {
                this.yytablechar = this.yyactchar;
                return;
            }
            this.yytablechar = 'ÿ';
        }

        // Token: 0x06000015 RID: 21 RVA: 0x00002537 File Offset: 0x00000737
        internal virtual string getyytext()
        {
            return new string(this.yytextbuf,0,this.yytextlen);
        }

        // Token: 0x06000016 RID: 22 RVA: 0x0000254C File Offset: 0x0000074C
        internal virtual void checkyytextbuf(int size)
        {
            while(size >= this.yytextbufsize)
            {
                this.yytextbufsize = ((this.yytextbufsize * 2 > 16384) ? (this.yytextbufsize * 2) : 16384);
                char[] destinationArray = new char[this.yytextbufsize];
                Array.Copy(this.yytextbuf,0,destinationArray,0,this.yytextbuf.Length);
                this.yytextbuf = destinationArray;
            }
        }

        // Token: 0x06000017 RID: 23 RVA: 0x000025B4 File Offset: 0x000007B4
        internal virtual void checkbuf(int size)
        {
            while(size >= this.bufsize)
            {
                this.bufsize = ((this.bufsize * 2 > 16384) ? (this.bufsize * 2) : 16384);
                char[] destinationArray = new char[this.bufsize];
                Array.Copy(this.buf,0,destinationArray,0,this.buf.Length);
                this.buf = destinationArray;
            }
        }

        // Token: 0x06000018 RID: 24 RVA: 0x00002619 File Offset: 0x00000819
        internal virtual bool eof(StreamReader pbuf)
        {
            return pbuf.EndOfStream;
        }

        // Token: 0x06000019 RID: 25 RVA: 0x00002624 File Offset: 0x00000824
        internal virtual void yynew()
        {
            if(this.yylastchar != '\0')
            {
                if(this.yylastchar == TCustomLexer.lf)
                {
                    this.yylstate = 1;
                }
                else
                {
                    this.yylstate = 0;
                }
            }
            this.yystate = this.yysstate + this.yylstate;
            this.checkyytextbuf(0);
            this.yytextlen = 0;
            this.yymatches = 0;
            this.yydone = false;
        }

        // Token: 0x0600001A RID: 26 RVA: 0x00002685 File Offset: 0x00000885
        internal virtual void yyscan()
        {
            this.yyactchar = this.get_char();
            this.checkyytextbuf(this.yytextlen + 1);
            this.yytextlen++;
            this.yytextbuf[this.yytextlen - 1] = this.yyactchar;
        }

        // Token: 0x0600001B RID: 27 RVA: 0x000026C4 File Offset: 0x000008C4
        internal virtual void yymark(int n)
        {
            if(n > 5120)
            {
                Console.WriteLine("n > max_rules ");
            }
            this.yypos[n] = this.yytextlen;
        }

        // Token: 0x0600001C RID: 28 RVA: 0x000026E8 File Offset: 0x000008E8
        internal virtual void yymatch(int n)
        {
            this.yymatches++;
            if(this.yymatches > TCustomLexer.max_matches)
            {
                int[] destinationArray = new int[TCustomLexer.max_matches * 2 + 1];
                Array.Copy(this.yystack,0,destinationArray,0,TCustomLexer.max_matches + 1);
                this.yystack = destinationArray;
                TCustomLexer.max_matches *= 2;
            }
            this.yystack[this.yymatches] = n;
        }

        // Token: 0x0600001D RID: 29 RVA: 0x00002758 File Offset: 0x00000958
        internal virtual int yyfind()
        {
            int num = -1;
            this.yyreject = false;
            while(this.yymatches > 0 && this.yypos[this.yystack[this.yymatches]] == 0)
            {
                this.yymatches--;
            }
            if(this.yymatches > 0)
            {
                this.yysleng = this.yytextlen;
                num = this.yystack[this.yymatches];
                this.yyless(this.yypos[num]);
                this.yypos[num] = 0;
                if(this.yytextlen > 0)
                {
                    this.yylastchar = this.yytextbuf[this.yytextlen - 1];
                }
                else
                {
                    this.yylastchar = '\0';
                }
            }
            else
            {
                this.yyless(0);
                this.yylastchar = '\0';
            }
            return num;
        }

        // Token: 0x0600001E RID: 30 RVA: 0x00002810 File Offset: 0x00000A10
        internal virtual bool yydefault()
        {
            this.yyreject = false;
            this.yyactchar = this.get_char();
            bool result;
            if(this.yyactchar != '\0')
            {
                result = true;
            }
            else
            {
                this.yylstate = 1;
                result = false;
            }
            this.yylastchar = this.yyactchar;
            return result;
        }

        // Token: 0x0600001F RID: 31 RVA: 0x00002854 File Offset: 0x00000A54
        internal virtual void yyless(int n)
        {
            for(int i = this.yytextlen ; i > n ; i--)
            {
                this.unget_char(this.yytextbuf[i - 1]);
            }
            this.checkyytextbuf(n);
            this.yytextlen = n;
        }

        // Token: 0x06000020 RID: 32 RVA: 0x00002890 File Offset: 0x00000A90
        internal virtual void returni(int n)
        {
            this.yyretval = n;
            this.yydone = true;
        }

        // Token: 0x06000021 RID: 33 RVA: 0x000028A0 File Offset: 0x00000AA0
        internal virtual void returnc(char c)
        {
            this.yyretval = (int)c;
            this.yydone = true;
        }

        // Token: 0x06000022 RID: 34 RVA: 0x000028B0 File Offset: 0x00000AB0
        internal virtual void yyclear()
        {
            this.bufptr = 0;
            this.yysstate = 0;
            this.yylstate = 1;
            this.yylastchar = '\0';
            this.yytextlen = 0;
            this.yylineno = 0L;
            this.yycolno = 0L;
            this.offset = -1L;
            this.yylineno_p = 1L;
            this.yycolno_p = 1L;
            this.offset_p = 0L;
        }

        // Token: 0x06000023 RID: 35 RVA: 0x00002910 File Offset: 0x00000B10
        internal virtual bool yywrap()
        {
            return true;
        }

        // Token: 0x06000024 RID: 36 RVA: 0x00002913 File Offset: 0x00000B13
        internal virtual int getyysstate()
        {
            return this.yysstate;
        }

        // Token: 0x06000025 RID: 37 RVA: 0x0000291B File Offset: 0x00000B1B
        internal virtual void start(int pstate)
        {
            this.yysstate = pstate;
        }

        // Token: 0x06000026 RID: 38 RVA: 0x00002924 File Offset: 0x00000B24
        internal virtual void unget_char(char pchar)
        {
            if(this.bufptr == 1310720)
            {
                Console.WriteLine("input buffer overflow");
            }
            this.bufptr++;
            this.yycolno -= 1L;
            this.offset -= 1L;
            this.checkbuf(this.bufptr + 1);
            this.buf[this.bufptr] = pchar;
        }

        // Token: 0x06000027 RID: 39 RVA: 0x00002990 File Offset: 0x00000B90
        internal virtual string readln()
        {
            StringBuilder stringBuilder = new StringBuilder(80);
            try
            {
                bool flag = false;
                int num;
                while((num = this.yyinput.Read()) != -1)
                {
                    stringBuilder.Append((char)num);
                    if(num == 10 || num == 13)
                    {
                        flag = true;
                        break;
                    }
                }
                if(flag && num == 13)
                {
                    num = this.yyinput.Peek();
                    if(num == 10)
                    {
                        num = this.yyinput.Read();
                        stringBuilder.Append((char)num);
                    }
                }
            }
            catch(IOException ex)
            {
                throw ex;
            }
            if(stringBuilder.Length > 0)
            {
                return stringBuilder.ToString();
            }
            return null;
        }

        // Token: 0x06000028 RID: 40 RVA: 0x00002A24 File Offset: 0x00000C24
        internal virtual char get_char()
        {
            bool flag = true;
            if(this.bufptr == 0 && !this.eof(this.yyinput))
            {
                try
                {
                    this.yyline = this.readln();
                    if(this.yyline == null)
                    {
                        flag = false;
                    }
                    else
                    {
                        this.yylineno += 1L;
                        this.yycolno = 0L;
                        this.bufptr = this.yyline.Length;
                        this.checkbuf(this.bufptr + 1);
                        for(int i = 1 ; i <= this.bufptr ; i++)
                        {
                            this.buf[i] = this.yyline[this.bufptr - i];
                        }
                    }
                }
                catch(IOException)
                {
                    flag = false;
                }
            }
            if(!flag)
            {
                return '\0';
            }
            if(this.bufptr > 0)
            {
                this.bufptr--;
                this.yycolno += 1L;
                this.offset += 1L;
                return this.buf[this.bufptr + 1];
            }
            return '\0';
        }

        // Token: 0x06000029 RID: 41 RVA: 0x00002B2C File Offset: 0x00000D2C
        internal virtual void startlit()
        {
            this.literalbuf.Length = 0;
            this.literallen = 0;
            this.literalalloc = 0;
        }

        // Token: 0x0600002A RID: 42 RVA: 0x00002B48 File Offset: 0x00000D48
        internal virtual void addlit(string ytext,int yleng)
        {
            this.literallen += yleng;
            this.literalbuf.Append(ytext.Substring(0,yleng));
        }

        // Token: 0x0600002B RID: 43 RVA: 0x00002B6C File Offset: 0x00000D6C
        internal virtual void addlitchar(char ychar)
        {
            this.literallen++;
            this.literalbuf.Append(ychar);
        }

        // Token: 0x0600002C RID: 44 RVA: 0x00002B89 File Offset: 0x00000D89
        internal virtual string litbufdup()
        {
            return this.literalbuf.ToString();
        }

        // Token: 0x0600002D RID: 45 RVA: 0x00002B96 File Offset: 0x00000D96
        internal virtual bool isopchar(char ch)
        {
            return "~!@#^&|`?$%".IndexOf(ch) != -1;
        }

        // Token: 0x0600002E RID: 46 RVA: 0x00002BA9 File Offset: 0x00000DA9
        internal virtual bool isselfchar(char ch)
        {
            return ",()[].;$:+-*/%^<>=!".IndexOf(ch) != -1;
        }

        // Token: 0x0600002F RID: 47 RVA: 0x00002BBC File Offset: 0x00000DBC
        internal virtual bool charinarray(char c,char[] a)
        {
            return new string(a).IndexOf(c) != -1;
        }

        // Token: 0x06000030 RID: 48 RVA: 0x00002BD0 File Offset: 0x00000DD0
        internal virtual void setlengthofliteralbuf(int plen)
        {
            this.literalbuf.Length = plen;
        }

        // Token: 0x06000031 RID: 49 RVA: 0x00002BDE File Offset: 0x00000DDE
        internal virtual void yyaction(int yyruleno)
        {
        }

        // Token: 0x06000032 RID: 50 RVA: 0x00002BE0 File Offset: 0x00000DE0
        internal virtual int yylex()
        {
            return 0;
        }

        // Token: 0x06000033 RID: 51 RVA: 0x00002BE4 File Offset: 0x00000DE4
        internal virtual int yylexwrap(TSourceToken psourcetoken)
        {
            if((psourcetoken.tokencode = this.yylex()) == 0)
            {
                return 0;
            }
            psourcetoken.astext = this.yylvalstr;
            psourcetoken.lineNo = this.yylineno_p;
            psourcetoken.columnNo = this.yycolno_p;
            psourcetoken.offset = this.offset_p;
            this.yylineno_p = this.yylineno;
            this.yycolno_p = this.yycolno + 1L;
            this.offset_p = this.offset + 1L;
            int tokencode = psourcetoken.tokencode;
            switch(tokencode)
            {
                case 257:
                    psourcetoken.tokentype = ETokenType.ttbracketedcomment;
                    goto IL_13EC;
                case 258:
                    psourcetoken.tokentype = ETokenType.ttsimplecomment;
                    if(this.dbvendor == EDbVendor.dbvmdx && psourcetoken.ToString().StartsWith("/",StringComparison.Ordinal))
                    {
                        psourcetoken.tokentype = ETokenType.ttCPPComment;
                        goto IL_13EC;
                    }
                    goto IL_13EC;
                case 259:
                    psourcetoken.tokentype = ETokenType.ttwhitespace;
                    goto IL_13EC;
                case 260:
                    psourcetoken.tokentype = ETokenType.ttreturn;
                    goto IL_13EC;
                case 261:
                case 263:
                    psourcetoken.tokentype = ETokenType.ttnumber;
                    goto IL_13EC;
                case 262:
                    psourcetoken.tokentype = ETokenType.ttsqstring;
                    psourcetoken.dolqstart = this.dolqstart;
                    this.dolqstart = "";
                    goto IL_13EC;
                case 264:
                case 282:
                    psourcetoken.tokentype = ETokenType.ttidentifier;
                    if(psourcetoken.astext.Trim().StartsWith("\"",StringComparison.Ordinal))
                    {
                        psourcetoken.tokentype = ETokenType.ttdqstring;
                        goto IL_13EC;
                    }
                    if(psourcetoken.astext.Trim().StartsWith("[",StringComparison.Ordinal))
                    {
                        if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                        {
                            psourcetoken.tokentype = ETokenType.ttdbstring;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else if(psourcetoken.astext.Trim().StartsWith("{",StringComparison.Ordinal))
                    {
                        if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                        {
                            psourcetoken.tokentype = ETokenType.ttbrstring;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else if(psourcetoken.astext.Trim().StartsWith("&",StringComparison.Ordinal))
                    {
                        if(this.dbvendor != EDbVendor.dbvmdx)
                        {
                            goto IL_13EC;
                        }
                        if(psourcetoken.tokencode == 282)
                        {
                            psourcetoken.tokencode = 285;
                            goto IL_13EC;
                        }
                        if(psourcetoken.tokencode == 264)
                        {
                            psourcetoken.tokencode = 286;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else
                    {
                        if(psourcetoken.astext.Trim().StartsWith(".",StringComparison.Ordinal) && this.dbvendor == EDbVendor.dbvteradata)
                        {
                            psourcetoken.tokentype = ETokenType.ttBTEQCmd;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    break;
                case 265:
                    psourcetoken.tokentype = ETokenType.ttmulticharoperator;
                    if(this.yylvalstr.Equals("?") && this.isqmarktoident)
                    {
                        psourcetoken.tokencode = 264;
                        if(this.dbvendor == EDbVendor.dbvpostgresql)
                        {
                            psourcetoken.tokencode = 298;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvodbc)
                        {
                            psourcetoken.tokencode = 63;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvsnowflake)
                        {
                            psourcetoken.tokencode = 267;
                            psourcetoken.tokentype = ETokenType.ttquestionmark;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '<' && this.yylvalstr[1] == '<')
                    {
                        if(this.dbvendor == EDbVendor.dbvoracle || this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase || this.dbvendor == EDbVendor.dbvpostgresql || this.dbvendor == EDbVendor.dbvaccess)
                        {
                            psourcetoken.tokencode = 270;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvmysql)
                        {
                            psourcetoken.tokencode = 531;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvredshift)
                        {
                            psourcetoken.tokencode = 299;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '>' && this.yylvalstr[1] == '>')
                    {
                        if(this.dbvendor == EDbVendor.dbvoracle || this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase || this.dbvendor == EDbVendor.dbvpostgresql || this.dbvendor == EDbVendor.dbvaccess)
                        {
                            psourcetoken.tokencode = 271;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvmysql)
                        {
                            psourcetoken.tokencode = 532;
                            goto IL_13EC;
                        }
                        if(this.dbvendor == EDbVendor.dbvredshift)
                        {
                            psourcetoken.tokencode = 300;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else
                    {
                        if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '=' && this.yylvalstr[1] == '>')
                        {
                            psourcetoken.tokencode = 282;
                            goto IL_13EC;
                        }
                        if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '-' && this.yylvalstr[1] == '>')
                        {
                            psourcetoken.tokencode = 280;
                            if(this.dbvendor == EDbVendor.dbvpostgresql)
                            {
                                psourcetoken.tokencode = 284;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '*' && this.yylvalstr[1] == '=')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = 277;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && (this.yylvalstr[0] == '+' || this.yylvalstr[0] == '-' || this.yylvalstr[0] == '*' || this.yylvalstr[0] == '/' || this.yylvalstr[0] == '%' || this.yylvalstr[0] == '&' || this.yylvalstr[0] == '^' || this.yylvalstr[0] == '|') && this.yylvalstr[1] == '=')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = TCustomLexer.compoundAssignmentOperator;
                                goto IL_13EC;
                            }
                            if(this.dbvendor == EDbVendor.dbvmysql && this.yylvalstr[0] == '^' && this.yylvalstr[1] == '=')
                            {
                                psourcetoken.tokencode = 290;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '-' && this.yylvalstr[1] == '=')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = TCustomLexer.compoundAssignmentOperator;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '/' && this.yylvalstr[1] == '=')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = TCustomLexer.compoundAssignmentOperator;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '%' && this.yylvalstr[1] == '=')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = TCustomLexer.compoundAssignmentOperator;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '|' && this.yylvalstr[1] == '/')
                        {
                            if(this.dbvendor == EDbVendor.dbvredshift)
                            {
                                psourcetoken.tokencode = 297;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 3 && this.yylvalstr[0] == '|' && this.yylvalstr[1] == '|' && this.yylvalstr[2] == '/')
                        {
                            if(this.dbvendor == EDbVendor.dbvredshift)
                            {
                                psourcetoken.tokencode = 298;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '=' && this.yylvalstr[1] == '*')
                        {
                            if(this.dbvendor == EDbVendor.dbvmssql || this.dbvendor == EDbVendor.dbvsybase)
                            {
                                psourcetoken.tokencode = 278;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '.' && this.yylvalstr[1] == '.')
                        {
                            if(this.dbvendor == EDbVendor.dbvdb2 || this.dbvendor == EDbVendor.dbvoracle || this.dbvendor == EDbVendor.dbvmysql)
                            {
                                psourcetoken.tokencode = 269;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '*' && this.yylvalstr[1] == '*')
                        {
                            if(this.dbvendor == EDbVendor.dbvteradata || this.dbvendor == EDbVendor.dbvnetezza)
                            {
                                psourcetoken.tokencode = 295;
                                goto IL_13EC;
                            }
                            goto IL_13EC;
                        }
                        else
                        {
                            if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)))
                            {
                                psourcetoken.tokencode = 290;
                                goto IL_13EC;
                            }
                            if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == ':' && this.yylvalstr[1] == '=')
                            {
                                psourcetoken.tokencode = 268;
                                goto IL_13EC;
                            }
                            if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)))
                            {
                                psourcetoken.tokencode = 290;
                                goto IL_13EC;
                            }
                            if(this.yylvalstr.StartsWith(">",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal))
                            {
                                psourcetoken.tokencode = 293;
                                goto IL_13EC;
                            }
                            if(this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal))
                            {
                                psourcetoken.tokencode = 294;
                                goto IL_13EC;
                            }
                            if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith("<",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith("<",StringComparison.Ordinal)))
                            {
                                psourcetoken.tokencode = 292;
                                goto IL_13EC;
                            }
                            if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)))
                            {
                                psourcetoken.tokencode = 291;
                                goto IL_13EC;
                            }
                            if(this.yylvalstr.Length == 1 && this.yylvalstr[0] == '~')
                            {
                                if(this.dbvendor == EDbVendor.dbvmysql || this.dbvendor == EDbVendor.dbvredshift || this.dbvendor == EDbVendor.dbvsnowflake)
                                {
                                    psourcetoken.tokencode = 126;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                            else if(this.yylvalstr.Length == 1 && this.yylvalstr[0] == '&')
                            {
                                if(this.dbvendor == EDbVendor.dbvmysql)
                                {
                                    psourcetoken.tokencode = 38;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                            else if(this.yylvalstr.Length == 1 && this.yylvalstr[0] == '|')
                            {
                                if(this.dbvendor == EDbVendor.dbvmysql)
                                {
                                    psourcetoken.tokencode = 124;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                            else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '&' && this.yylvalstr[1] == '&')
                            {
                                if(this.dbvendor == EDbVendor.dbvmysql)
                                {
                                    psourcetoken.tokencode = 529;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                            else if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '|' && this.yylvalstr[1] == '|')
                            {
                                if(this.dbvendor == EDbVendor.dbvmysql)
                                {
                                    psourcetoken.tokencode = 530;
                                }
                                if(this.dbvendor == EDbVendor.dbvdb2 || this.dbvendor == EDbVendor.dbvnetezza || this.dbvendor == EDbVendor.dbvpostgresql || this.dbvendor == EDbVendor.dbvredshift || this.dbvendor == EDbVendor.dbvsnowflake)
                                {
                                    psourcetoken.tokencode = 283;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                            else
                            {
                                if(this.yylvalstr.Length == 3 && this.yylvalstr[0] == '-' && this.yylvalstr[1] == '>' && this.yylvalstr[2] == '>')
                                {
                                    psourcetoken.tokencode = 281;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 3 && this.yylvalstr[0] == '#' && this.yylvalstr[1] == '>' && this.yylvalstr[2] == '>')
                                {
                                    psourcetoken.tokencode = 282;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '#' && this.yylvalstr[1] == '>')
                                {
                                    psourcetoken.tokencode = 285;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '@' && this.yylvalstr[1] == '>')
                                {
                                    psourcetoken.tokencode = 288;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '<' && this.yylvalstr[1] == '@')
                                {
                                    psourcetoken.tokencode = 297;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '?' && this.yylvalstr[1] == '|')
                                {
                                    psourcetoken.tokencode = 299;
                                    goto IL_13EC;
                                }
                                if(this.yylvalstr.Length == 2 && this.yylvalstr[0] == '?' && this.yylvalstr[1] == '&')
                                {
                                    psourcetoken.tokencode = 300;
                                    goto IL_13EC;
                                }
                                byte[] bytes = Encoding.ASCII.GetBytes(this.yylvalstr);
                                if(bytes.Length == 2 && bytes[0] == 161 && bytes[1] == 175)
                                {
                                    psourcetoken.tokencode = 39;
                                    goto IL_13EC;
                                }
                                goto IL_13EC;
                            }
                        }
                    }
                    break;
                case 266:
                    psourcetoken.tokentype = ETokenType.ttmulticharoperator;
                    if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)))
                    {
                        psourcetoken.tokencode = 290;
                        if(this.yylvalstr.IndexOf("=",1,StringComparison.Ordinal) > 0 && this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal))
                        {
                            psourcetoken.tokencode = 61;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    else
                    {
                        if(this.yylvalstr.StartsWith(">",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal))
                        {
                            psourcetoken.tokencode = 293;
                            goto IL_13EC;
                        }
                        if(this.yylvalstr.StartsWith("<",StringComparison.Ordinal) && this.yylvalstr.EndsWith("=",StringComparison.Ordinal))
                        {
                            psourcetoken.tokencode = 294;
                            goto IL_13EC;
                        }
                        if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith("<",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith("<",StringComparison.Ordinal)))
                        {
                            psourcetoken.tokencode = 292;
                            goto IL_13EC;
                        }
                        if((this.yylvalstr.StartsWith("!",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)) || (this.yylvalstr.StartsWith("^",StringComparison.Ordinal) && this.yylvalstr.EndsWith(">",StringComparison.Ordinal)))
                        {
                            psourcetoken.tokencode = 291;
                            goto IL_13EC;
                        }
                        goto IL_13EC;
                    }
                    break;
                case 267:
                    psourcetoken.tokentype = ETokenType.ttbindvar;
                    if(this.dbvendor == EDbVendor.dbvoracle)
                    {
                        psourcetoken.astext = psourcetoken.astext.Replace(TBaseType.newline,"");
                        goto IL_13EC;
                    }
                    goto IL_13EC;
                case 268:
                case 269:
                case 270:
                case 271:
                case 272:
                case 273:
                case 274:
                case 276:
                case 277:
                case 278:
                case 279:
                case 280:
                case 281:
                    break;
                case 275:
                    psourcetoken.tokentype = ETokenType.ttsqlvar;
                    goto IL_13EC;
                case 283:
                    psourcetoken.tokentype = ETokenType.ttconcatenationop;
                    goto IL_13EC;
                default:
                    if(tokencode == 286)
                    {
                        psourcetoken.tokentype = ETokenType.ttstmt_delimiter;
                        psourcetoken.tokencode = 257;
                        goto IL_13EC;
                    }
                    break;
            }
            psourcetoken.tokentype = ETokenType.ttkeyword;
            if(psourcetoken.tokencode < 255)
            {
                psourcetoken.astext = Convert.ToString(this.yylvalstr[0]);
                psourcetoken.tokentype = ETokenType.ttsinglecharoperator;
                int tokencode2 = psourcetoken.tokencode;
                if(tokencode2 <= 94)
                {
                    switch(tokencode2)
                    {
                        case 36:
                            psourcetoken.tokentype = ETokenType.ttdolorsign;
                            break;
                        case 37:
                        case 39:
                        case 48:
                        case 49:
                        case 50:
                        case 51:
                        case 52:
                        case 53:
                        case 54:
                        case 55:
                        case 56:
                        case 57:
                            break;
                        case 38:
                            psourcetoken.tokentype = ETokenType.ttampersand;
                            break;
                        case 40:
                            psourcetoken.tokentype = ETokenType.ttleftparenthesis;
                            break;
                        case 41:
                            psourcetoken.tokentype = ETokenType.ttrightparenthesis;
                            break;
                        case 42:
                            psourcetoken.tokentype = ETokenType.ttasterisk;
                            break;
                        case 43:
                            psourcetoken.tokentype = ETokenType.ttplussign;
                            break;
                        case 44:
                            psourcetoken.tokentype = ETokenType.ttcomma;
                            break;
                        case 45:
                            psourcetoken.tokentype = ETokenType.ttminussign;
                            break;
                        case 46:
                            psourcetoken.tokentype = ETokenType.ttperiod;
                            break;
                        case 47:
                            psourcetoken.tokentype = ETokenType.ttslash;
                            break;
                        case 58:
                            psourcetoken.tokentype = ETokenType.ttcolon;
                            break;
                        case 59:
                            psourcetoken.tokentype = ETokenType.ttsemicolon;
                            break;
                        case 60:
                            psourcetoken.tokentype = ETokenType.ttlessthan;
                            break;
                        case 61:
                            psourcetoken.tokentype = ETokenType.ttequals;
                            break;
                        case 62:
                            psourcetoken.tokentype = ETokenType.ttgreaterthan;
                            break;
                        case 63:
                            if(this.isqmarktoident)
                            {
                                psourcetoken.tokencode = 264;
                            }
                            break;
                        case 64:
                            if(this.delimiterchar == '@')
                            {
                                psourcetoken.tokencode = 59;
                                psourcetoken.tokentype = ETokenType.ttsemicolon;
                            }
                            else
                            {
                                psourcetoken.tokentype = ETokenType.ttatsign;
                            }
                            break;
                        default:
                            switch(tokencode2)
                            {
                                case 91:
                                    psourcetoken.tokentype = ETokenType.ttleftbracket;
                                    break;
                                case 93:
                                    psourcetoken.tokentype = ETokenType.ttrightbracket;
                                    break;
                                case 94:
                                    psourcetoken.tokentype = ETokenType.ttcaret;
                                    break;
                            }
                            break;
                    }
                }
                else if(tokencode2 != 124)
                {
                    if(tokencode2 == 126)
                    {
                        psourcetoken.tokentype = ETokenType.tttilde;
                    }
                }
                else
                {
                    psourcetoken.tokentype = ETokenType.ttverticalbar;
                }
            }
            else if(this.dbvendor == EDbVendor.dbvhive && psourcetoken.tokencode == 289)
            {
                psourcetoken.tokentype = ETokenType.ttequals;
            }
        IL_13EC:
            return psourcetoken.tokencode;
        }

        // Token: 0x04000D1A RID: 3354
        public StreamReader yyinput;

        // Token: 0x04000D1B RID: 3355
        internal long yylineno;

        // Token: 0x04000D1C RID: 3356
        internal long yycolno;

        // Token: 0x04000D1D RID: 3357
        internal long offset;

        // Token: 0x04000D1E RID: 3358
        internal long yylineno_p;

        // Token: 0x04000D1F RID: 3359
        internal long yycolno_p;

        // Token: 0x04000D20 RID: 3360
        internal long offset_p;

        // Token: 0x04000D21 RID: 3361
        internal int bufptr;

        // Token: 0x04000D22 RID: 3362
        internal int yystate;

        // Token: 0x04000D23 RID: 3363
        internal int yysstate;

        // Token: 0x04000D24 RID: 3364
        internal int yylstate;

        // Token: 0x04000D25 RID: 3365
        internal int yytextlen;

        // Token: 0x04000D26 RID: 3366
        internal int yyretval;

        // Token: 0x04000D27 RID: 3367
        internal int yytextbufsize;

        // Token: 0x04000D28 RID: 3368
        internal int yymatches;

        // Token: 0x04000D29 RID: 3369
        internal int yysleng;

        // Token: 0x04000D2A RID: 3370
        internal string yyline;

        // Token: 0x04000D2B RID: 3371
        internal string yylvalstr;

        // Token: 0x04000D2C RID: 3372
        public string dolqstart = "";

        // Token: 0x04000D2D RID: 3373
        internal char yylastchar;

        // Token: 0x04000D2E RID: 3374
        internal char yyactchar;

        // Token: 0x04000D2F RID: 3375
        internal char yytablechar;

        // Token: 0x04000D30 RID: 3376
        internal bool yydone;

        // Token: 0x04000D31 RID: 3377
        internal bool yyreject;

        // Token: 0x04000D32 RID: 3378
        internal char[] yytextbuf;

        // Token: 0x04000D33 RID: 3379
        internal char[] buf;

        // Token: 0x04000D34 RID: 3380
        internal int bufsize;

        // Token: 0x04000D35 RID: 3381
        internal StringBuilder literalbuf;

        // Token: 0x04000D36 RID: 3382
        internal int literallen;

        // Token: 0x04000D37 RID: 3383
        internal int literalalloc;

        // Token: 0x04000D38 RID: 3384
        internal int xcdepth;

        // Token: 0x04000D39 RID: 3385
        internal int nchars;

        // Token: 0x04000D3A RID: 3386
        internal int slashstar;

        // Token: 0x04000D3B RID: 3387
        internal int dashdash;

        // Token: 0x04000D3C RID: 3388
        internal bool isqmarktoident;

        // Token: 0x04000D3D RID: 3389
        internal bool insqlpluscmd;

        // Token: 0x04000D3E RID: 3390
        internal char dummych1;

        // Token: 0x04000D3F RID: 3391
        internal char dummych2;

        // Token: 0x04000D40 RID: 3392
        public static int keyword_type_reserved = 1;

        // Token: 0x04000D41 RID: 3393
        public static int keyword_type_keyword = 2;

        // Token: 0x04000D42 RID: 3394
        public static int keyword_type_identifier = 4;

        // Token: 0x04000D43 RID: 3395
        public static int keyword_type_column = 8;

        // Token: 0x04000D44 RID: 3396
        public char delimiterchar;

        // Token: 0x04000D45 RID: 3397
        public string defaultDelimiterStr;

        // Token: 0x04000D46 RID: 3398
        public string tmpDelimiter;

        // Token: 0x04000D47 RID: 3399
        internal const int intial_bufsize = 16384;

        // Token: 0x04000D48 RID: 3400
        internal static readonly char lf = '\n';

        // Token: 0x04000D49 RID: 3401
        internal const int max_chars = 1310720;

        // Token: 0x04000D4A RID: 3402
        internal const int max_rules = 5120;

        // Token: 0x04000D4B RID: 3403
        internal static int max_matches = 409600;

        // Token: 0x04000D4C RID: 3404
        internal const int init = 2;

        // Token: 0x04000D4D RID: 3405
        internal const int xc = 4;

        // Token: 0x04000D4E RID: 3406
        internal const int xd = 6;

        // Token: 0x04000D4F RID: 3407
        internal const int xq = 8;

        // Token: 0x04000D50 RID: 3408
        internal const int xqq = 10;

        // Token: 0x04000D51 RID: 3409
        internal const int xdolq = 10;

        // Token: 0x04000D52 RID: 3410
        internal const int xdbracket = 10;

        // Token: 0x04000D53 RID: 3411
        internal const int xdbrace = 12;

        // Token: 0x04000D54 RID: 3412
        internal const int xbacktick = 12;

        // Token: 0x04000D55 RID: 3413
        internal const int namedatalen = 255;

        // Token: 0x04000D56 RID: 3414
        internal const int cmtslashstar = 257;

        // Token: 0x04000D57 RID: 3415
        internal const int cmtdoublehyphen = 258;

        // Token: 0x04000D58 RID: 3416
        internal const int lexspace = 259;

        // Token: 0x04000D59 RID: 3417
        internal const int lexnewline = 260;

        // Token: 0x04000D5A RID: 3418
        internal const int fconst = 261;

        // Token: 0x04000D5B RID: 3419
        internal const int sconst = 262;

        // Token: 0x04000D5C RID: 3420
        internal const int iconst = 263;

        // Token: 0x04000D5D RID: 3421
        internal const int ident = 264;

        // Token: 0x04000D5E RID: 3422
        internal const int op = 265;

        // Token: 0x04000D5F RID: 3423
        internal const int cmpop = 266;

        // Token: 0x04000D60 RID: 3424
        internal const int bind_v = 267;

        // Token: 0x04000D61 RID: 3425
        internal const int assign_sign = 268;

        // Token: 0x04000D62 RID: 3426
        internal const int double_dot = 269;

        // Token: 0x04000D63 RID: 3427
        internal const int label_begin = 270;

        // Token: 0x04000D64 RID: 3428
        internal const int label_end = 271;

        // Token: 0x04000D65 RID: 3429
        internal const int substitution_v = 272;

        // Token: 0x04000D66 RID: 3430
        internal const int filepath_sign = 272;

        // Token: 0x04000D67 RID: 3431
        internal const int sqlpluscmd = 273;

        // Token: 0x04000D68 RID: 3432
        internal const int error = 274;

        // Token: 0x04000D69 RID: 3433
        internal const int variable = 275;

        // Token: 0x04000D6A RID: 3434
        internal const int mslabel = 276;

        // Token: 0x04000D6B RID: 3435
        public const int bconst = 276;

        // Token: 0x04000D6C RID: 3436
        internal const int leftjoin_op = 277;

        // Token: 0x04000D6D RID: 3437
        internal const int rightjoin_op = 278;

        // Token: 0x04000D6E RID: 3438
        internal const int db2label = 279;

        // Token: 0x04000D6F RID: 3439
        public const int xconst = 279;

        // Token: 0x04000D70 RID: 3440
        internal const int ref_arrow = 280;

        // Token: 0x04000D71 RID: 3441
        internal const int rw_scriptoptions = 281;

        // Token: 0x04000D72 RID: 3442
        internal const int mysqllabel = 282;

        // Token: 0x04000D73 RID: 3443
        internal const int NAMED_PARAMETER_SIGN = 282;

        // Token: 0x04000D74 RID: 3444
        internal const int QUOTED_IDENT = 282;

        // Token: 0x04000D75 RID: 3445
        internal const int BTEQCMD = 282;

        // Token: 0x04000D76 RID: 3446
        internal const int concatenationop = 283;

        // Token: 0x04000D77 RID: 3447
        internal const int rw_not_deferrable = 284;

        // Token: 0x04000D78 RID: 3448
        internal const int rw_for1 = 285;

        // Token: 0x04000D79 RID: 3449
        internal const int stmt_delimiter = 286;

        // Token: 0x04000D7A RID: 3450
        internal const int AMP_QUOTED_ID = 285;

        // Token: 0x04000D7B RID: 3451
        internal const int AMP_UNQUOTED_ID = 286;

        // Token: 0x04000D7C RID: 3452
        internal const int m_clause = 287;

        // Token: 0x04000D7D RID: 3453
        internal const int MySQL_CHARSET_NAME = 287;

        // Token: 0x04000D7E RID: 3454
        internal const int typecast = 287;

        // Token: 0x04000D7F RID: 3455
        internal const int k_clause = 288;

        // Token: 0x04000D80 RID: 3456
        internal const int outer_join = 289;

        // Token: 0x04000D81 RID: 3457
        internal const int not_equal = 290;

        // Token: 0x04000D82 RID: 3458
        internal static readonly int param = 538;

        // Token: 0x04000D83 RID: 3459
        internal const int rw_locktable = 296;

        // Token: 0x04000D84 RID: 3460
        internal const int rw_foreign2 = 297;

        // Token: 0x04000D85 RID: 3461
        internal const int rw_constraint2 = 298;

        // Token: 0x04000D86 RID: 3462
        internal const int rw_primary2 = 299;

        // Token: 0x04000D87 RID: 3463
        internal const int rw_unique2 = 300;

        // Token: 0x04000D88 RID: 3464
        internal static readonly int castoperator = 529;

        // Token: 0x04000D89 RID: 3465
        internal static readonly int twocolons = 529;

        // Token: 0x04000D8A RID: 3466
        internal static readonly int compoundAssignmentOperator = 530;

        // Token: 0x04000D8B RID: 3467
        internal int[] yypos = new int[5121];

        // Token: 0x04000D8C RID: 3468
        internal int[] yystack = new int[TCustomLexer.max_matches + 1];

        // Token: 0x04000D8D RID: 3469
        internal EDbVendor dbvendor;
    }
}
